/**
 * Created by Administrator on 2015/5/27.
 */
//process代表程序执行相关的封装对象
//常用对象和属性:process.stdout/process.stderr都是和输出相关的操作函数
//process.stdout-->standard output 标准信息输出 和console.info就是调用的process.stdout完成的。
//process.stderr-->standard error 标出错误输出 和console.error也是调用process.stderr来完成的。
//process.stdout的相关用法
//process.stdout.write('this is process.stdout!');
//process.stderr.write('this is process.stderr!');
//process.stdout.write('你好，我是中文！');
//输入相关的操作函数: process.stdin //和键盘输入相关的操作函数
//在使用stdin之前，先进行相应的编码设置：setEncoding
process.stdin.setEncoding('utf-8');//这里和网页的编码设置不一样。utf-8用来读取纯文本的输入
//process.stdin.setEncoding('gbk'); 报错

//在JS中也有通过on绑定事件，off解绑事件的方法
//process.stdin.on('data',function(data){
//    console.log(data);
//});
// 通过on方法监听用户相关的输入事件，通过注册事件相关的机制，获取相关的事件消息，或者获取事件的信息。
//用户输入的时候，就要读取detail这个事件。然后当有用户进行输入的时候，node会通过回调函数告诉我们node输入的内容

//stdin除了data可以监听用户的输入之外，还有readable,即为有内容可读取的时候， 也可以监听用户的输入。
/*process.stdin.on('readable',function(){  //没有参数，不会把用户的输入主动传到回调函数中。
    //而是手工的通过process.stdin.read()方法，获取用户的输入。
    var data=process.stdin.read();
    console.log(data);
});*/
//process另外一个很常用的方法：process.cwd()
//process.cwd();

//process.on('exit',function(){
//    console.log('program will exit!');//在程序退出之前内容被打印出来了！在程序正常退出时会触发exit事件
//});

//在process.on中监听sigint这个事件
// SIGINT: signal interrupted 信号中断时触发SIGINT事件
//什么时候有中断信息触发呢？在按下stdin等待用户输入的时候，可以按下Ctrl+c来退出等待用户输入的过程。
// 在按下ctrl+c 的时候就触发了SIGINT事件！
/*process.on('SIGINT',function(){//在触发SIGINT事件时，会改变程序默认的退出行为！
    console.log('programe has a sigint!');
    //如何使程序在sigint事件里正常退出呢，就需要调用exit()方法
    process.exit();
});
//process.argv  执行程序时，附加在命令行中的参数
console.log(process);*/





/*第二次听视频*/

//process.stdout: standard output 标准信息输出
//process.stderr: standard error  标准的错误输出

/*process.stdout.write('this is stdout!');
process.stderr.write('this is stderror!');*/

/*读取用户通过键盘的输入：*/
/*process.stdin.setEncoding('utf-8');//只有想读取纯文本信息，把编码设置成utf-8就可以了。
process.stdin.on('data',function(data){
    console.log('你输入的信息是：'+data);
});*/
//监听用户输入
process.stdin.on('readable',function(){
   var data= process.stdin.read();
    console.log(data);
});

/*process.on('exit',function(){//在程序正常退出时触发exit事件
  console.log('你好')
});*/


//SIGINT:signal interrupted 当有一个中断信号是触发SIGINT.constructor
process.on('SIGINT',function(){//会改变程序默认的退出行为！
    console.log('program has a sigint!');
    process.exit();
});



















